Multi-stage CDMA synchronization with parallel execution

ABSTRACT

Methods and systems for time synchronizing a receiver to a spread spectrum signal are described. Exemplary embodiments of the present invention provide for at least a two step process in which, at a first step, a number of candidate synchronization frequencies or timings are identified, followed by confirming one of the candidates as a correct synchronization state at a second or final step. According to the present invention, the confirmation step may be performed at the same time as the step of identifying further candidates by processing the same received signal samples in different ways.

BACKGROUND

[0001] The present invention relates to mobile phones or radio apparatusfor receiving spread spectrum signals, such as code division multipleaccess (CDMA) signals, with which time synchronization is achieved.

[0002] Radiocommunication systems involve the transmission ofinformation over an air interface, for example by modulating a carrierfrequency with that information. Upon reception, a receiver attempts toaccurately extract the information from the received signal byperforming an appropriate demodulation technique. However, in order todemodulate a received signal, it is first necessary to synchronizetiming between the transmitter and the receiver. Different levels ofsynchronization may be required depending upon the design of theradiocommunication system. For example, in most systems clockingdifferences between the transmitter and the receiver create differencesin timing at a bit level. Moreover, in some radiocommunication systems,information is transmitted in bursts, sometimes referred to as “frames”,which represent chunks of information that are independently detectedand decoded. In these types of systems it is also desirable to locatethe beginning of a frame, so that information relevant to a particularreceiver is isolated and demodulated. Likewise, some systems (e.g., timedivision multiple access or TDMA systems) further subdivide frames intotimeslots to create channels that are time multiplexed with one another.In these systems it is further desirable to synchronize the receiver tothe beginning of each timeslot.

[0003] Some systems provide channelization using a spread spectrumtechnique known as code division multiple access (CDMA). In CDMAsystems, the information data stream to be transmitted is first coded orspread using a unique spreading code and then combined with a longPN-sequence or a shorter scrambling-sequence. In the latter case, thescrambling-sequences are planned from cell to cell so that neighboringcells use different scrambling-sequences or scrambling-masks. Theinformation data stream and the PN-sequence or the scrambling sequencecan have the same or different bit rates. The multiplication of theinformation data stream with the unique spreading code and longPN-sequence results in an output stream of chips. Thus, in CDMA systems,it is also desirable to synchronize the receiver to the chip boundaries.

[0004] To further understand the synchronization tasks associated withsignal processing in a CDMA radiocommunication system, consider thefollowing example. FIG. 1 illustrates the use of base stations totransmit radio waves to mobile users (mobile stations) in a cellularsystem. In a CDMA system, base station 10 can transmit signals to mobilestations 14 and 15 as a single (composite) signal. The signal directedto mobile station 14 is typically coded with a short code that isorthogonal or mostly orthogonal to a short code that is used to code thesignal directed to mobile station 15. These signals are then spread witha second code that is sometimes referred to as a long code, associatedwith base station 10. The sum of the two coded and spread signals isthen transmitted by base station 10.

[0005] When mobile station 14 receives the composite signal, mobilestation 14 multiplies the spread signal with the long code and the shortcode to recreate the signal directed to mobile station 14 and the signaldirected to mobile station 15 is suppressed as interference noise.Similarly, mobile station 15 multiplies the spread signal with the longcode and the short code assigned to mobile station 15 to recreate thesignal directed to mobile station 15 and the signal directed to mobilestation 14 is suppressed as interference noise. The receivers associatedwith mobile stations 14 and 15 must have acquired the various levels ofsynchronization to the received signal which were described above, inaddition to learning or knowing the applicable long and short codes, inorder to implement despreading, demodulation and decoding of theinformation residing in that signal. Many different techniques have beendeveloped in order to acquire synchronization at each of the variouslevels. For frame synchronization these techniques typically depend, inlarge degree, on the frame structure and the manner in which overhead orcontrol information is conveyed to the mobile station. Overheadinformation is usually provided on one or more broadcast controlchannels which are transmitted by base stations using known channels towhich mobile stations can quickly lock onto and receive the overheadinformation including, among other things, information used to acquireframe synchronization with that base station. Those skilled in the artwill appreciate that many radiocommunication systems have unsynchronizedbase stations, i.e., base stations which do not share a common timingreference signal. Accordingly, frame synchronization is a process whichneeds to be performed, for example, at start-up (i.e., when a mobile ispowered on), as a mobile station moves from cell to cell and whenmeasuring on channels associated with neighboring cells as part of cellreselection procedures (e.g., to confirm that a mobile station islistening to a “best” serving base station).

[0006] Of course, as with most signal processing tasks performed by thereceiver, reducing the delay associated with synchronization isimportant in improving the receiver's performance. Many types ofcommunication services, in particular speech communication, arerelatively delay intolerant. Thus, system designers are continuouslyseeking for ways in which to reduce the amount of time that it takes toperform any given signal processing task, including timesynchronization.

SUMMARY

[0007] A radio receiver employing a synchronization method according tothe present invention is able more rapidly to find and acquiresynchronisation with a CDMA signal by means of at least a two stepprocess in which, at a first step, a number of candidate synchronisationfrequencies or timings are identified, followed by confirming one of thecandidates as a correct synchronisation state at a second or final step.According to the present invention, the confirmation step may beperformed at the same time as the step of identifying further candidatesby processing the same received signal samples in different ways.

[0008] In an exemplary implementation, a first correlation meanscorrelates shifts of a stream of received signal samples using acorrelation length over which the received signal does not driftsignificantly in phase, amplitude or timing, thus allowing coherentcorrelation. Coherent correlations are not in general expected to reacha sufficient signal-to-noise ratio to unambiguously identify withadequate certainty that correct synchronisation has been achieved.Consequently a number of coherent correlations corresponding to liketiming postulates are further accumulated non-coherently in a number ofbins, each bin corresponding to a timing postulate. Non-coherentaccumulation involves adding the magnitudes or square magnitudes of thecoherent correlations, where the squared magnitude is equal to the sumof the squares of the real and imaginary parts of the coherentcorrelation value.

[0009] When non-coherent or magnitude accumulation must take place for aprolonged time period in order to identify a likely candidate timing,and the time period is so long that a drift of timing may occur that isof the order of plus or minus one timing bin width or more, the presentinvention may employ a drift compensation type of accumulation describedin U.S. patent application Ser. No. 08/768,975 to Paul W. Dent, filedDec. 18, 1996, the disclosure of which is hereby incorporated byreference herein.

[0010] An exemplary CDMA system according to the present invention,using a 4 megachip per second modulation, searches time bins that areone chip wide, i.e. 0.25US. The receiver time and frequency referencehas an initial error of +/−10 parts per million, which results in adrift of one bin per 25 mS. This exemplary CDMA system furthermoretransmits a known chip pattern every 0.625 mS for use by the receiver toachieve a first synchronization step. The known chip pattern has alength of 256 chips for example. With 10 ppm frequency error, themaximum coherent correlation length is restricted to about 64 chips.Therefore four, 64-chip coherent correlations are accumulatednon-coherently every 0.625 mS to determine a correlation value with theknown 256-chip pattern. Approximately 40 of these 0.625 mS correlationsmay then be accumulated non-coherently, after which the timing may havedrifted one chip. To compensate for such drift; after a number ofnon-coherent accumulations less than 40, for example 16, the results foreach bin are accumulated with the best of previous cumulative resultslying within +/−1 bin, thus allowing a drift of +/−one bin in 16 whilestill providing continued accumulation. In the above exemplary system,the number of timing bins is approximately 0.625 mS×4 megachips/sec,that is about 2500 bins of one-chip width.

[0011] Drift-compensated accumulation continues according to the presentinvention until a cumulative results bin reaches a threshold. Thisindicates that the known signal pattern may have been found at thetiming corresponding to the threshold. The timing associated with thatbin is then recorded in a list of candidate timings to be furtherevaluated, and the bin contents reset to zero. Drift compensatedaccumulation of correlations with the known signal pattern thencontinues and as further bins reach the first threshold, theirassociated timings are also entered into the list and their bin contentsreset to zero. Eventually, a bin already reset to zero at least once mayagain reach the threshold value and would then be entered into the lista second time. The list thus contains candidate timings in the order inwhich they reached the first correlation threshold, including possiblerepeats of an earlier candidate timing. Drift-compensated accumulationin timing bins can comprise subtracting the minimum value over all binsfrom all the bins, so as to emphasize differences between the bin valuesand prevent indefinite growth of numerical values. Detecting that a binvalue reaches a threshold can then imply detecting that a bin value hasexceeded the other bin values by a threshold.

[0012] In the exemplary CDMA system, many signals may be transmitted inthe same bandwidth at the same time using different spreading codes,preferably orthogonal codes. In addition to the above-mentioned knownsignal pattern, which typically uses the same code, regardless of thetransmitter, a second signal pattern is transmitted that is selected tobe different for different transmitters in an adjacent group oftransmitters. The second signal pattern being one of a limited numberof, for example, 16 predetermined patterns. A second stage ofsynchronisation therefore consists of determining if one of the secondknown signal patterns can be found at a timing shift recorded in thecandidate list derived in the first step described above. Because thesecond known signal pattern is transmitted at the same time and on thesame frequency as the first known signal pattern, they are both receivedoverlapping at the receiver and correlations may be performed using thesecond known symbol pattern by a second correlation means simultaneouslywith continuing to perform and accumulate correlations with the firstknown signal pattern using the first correlation means. The invention ofDent and Wang described in U.S. patent application Ser. No. 08/967,444,entitled “Efficient Correlation Over a Sliding Window” (filed Nov. 11,1997) may, for example, advantageously be employed to combine the firstand second correlation means taking advantage of common computations toreduce effort and therefore power consumption.

[0013] Correlations are performed with all 16 of the second known signalpatterns, but using only that timing shift identified with the firstcandidate in the list. According to a second aspect of the presentinvention, correlations with the first known signal pattern may also beused to estimate a frequency error, which is also stored in the listagainst candidate timings. When using a candidate timing to test forcorrelations with the 16 second known signal patterns, the frequencyerror estimate may be used to compensate the received signal for phasedrift, allowing a longer coherent second correlation to be performed.When one of the 16 second correlations has reached a second threshold,the timing, frequency error estimate and the second known symbol patterngiving that correlation may be recorded in a second list of candidatesto be tested in an optional third synchronization step. The presentinvention can optionally comprise performing simultaneous correlationswith the second known symbol patterns using more than one of the timingsfrom the candidate list in parallel. The results would be accumulated in16N bins, where N is the number of simultaneously tested candidates.When any one of the 16N correlations reaches the second threshold, theassociated second known code, timing and frequency error are transferredto the second list. The second list thus contains second correlations inthe order in which their accumulations first reached the secondthreshold.

[0014] In the exemplary system, the second known symbol patternidentifies a group of third known symbol patterns, one of which shouldbe found in a third correlation step. The present invention may beapplied again to search simultaneously for a third correlation whilecontinuing first and second correlation accumulations. The thirdcorrelation is performed using all known symbol patterns in the group,which once again may, for example, contain 16 members. When a thirdcorrelation is identified, the method has thus disambiguated which of256 different signal waveforms are in use, i.e. the CDMA spreading codeused by the transmitter has been narrowed down to one candidate. Usingthat code, an attempt is then made to decode a broadcast control channelemitted by the transmitter, successful decoding being indicated, forexample, by a Cyclic Redundancy Check Code (CRC). This final stepconfirms that a valid signal has been identified and sychnronisationachieved.

[0015] A further uncertainty that is resolved by the method is which ofa number of frequency channels the transmitter is using. This is done byapplying the method sequentially to all possible frequency channelsselected intelligently in a priority order. For example, a frequencychannel on which sync was previously found most recently can be testedfirst. Moreover, sync search on any frequency channel may be abandonedat any stage if the correlation accumulation for that stage fails toreach the threshold for that stage in a given time.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The features, objects, advantages and other aspects of thepresent invention will be more readily understood upon reading thefollowing detailed description in conjunction with the figures, wherein:

[0017]FIG. 1 illustrates an exemplary CDMA radiocommunication system inwhich the present invention may be employed;

[0018] FIGS. 2(a)-2(d) depict a flowchart which is used to describedexemplary methods and systems for performing synchronization accordingto exemplary embodiments of the present invention; and

[0019]FIG. 3 shows a CDMA signal format to which the present inventionmay be applied.

DETAILED DESCRIPTION

[0020] In the following description, for purposes of explanation and notlimitation, specific details are set forth, such as particular circuits,circuit components, techniques, etc. in order to provide a thoroughunderstanding of the present invention. However, it will be apparent toone skilled in the art that the present invention may be practiced inother embodiments that depart from these specific details. In otherinstances, detailed descriptions of well-known methods, devices, andcircuits are omitted so as not to obscure the description of the presentinvention.

[0021] In FIG. 2(a), a radio receiver, such as a mobile phone, performsa scan of the allocated frequency band in step 1 upon first beingswitched on after a period of inactivity. The frequency scan stepidentifies channels on which RF energy is detected and can measure thesignal strength of detected RF energy. In step 2, other information isused to determine a prioritized list of channels that will be searchedin order. In the absence of other information, the prioritized order canbe signal strength order from strongest to weakest. Other informationthat can change this order would, for example, include knowledge ofchannels on which valid signals had been found before.

[0022] For example, if the signal strength now received on a channel onwhich sync was established most recently is similar to that measuredwhen valid synchronisation was last achieved on that channel, it may begiven highest priority. If the most recent sync channel does not havethe highest signal strength, but the signal strength on a differentchannel on which sync is often established is high, then the differentchannel may be given priority. Another example of other informationwhich may affect the scanning order is a list of channels on which synchas never been established or never been established even when signalstrength is high (because, for example, they might be allocated to adifferent type of system). These channels may be given lower prioritythan their measured signal strength would otherwise indicate. Anotherreason why channels may be given low priority is when receiver frequencystep sizes are narrower than the system's channel spacing. For example,receiver resolution could be 200 KHz while a particular system placessignals centered only on every 25th 200 KHz step. A radio receiver couldlearn on which of the 25 steps sync is most often achieved and givethose higher priority for searching than the other 24, depending ofcourse on whether the scan for energy conforms the likelihood that thesesteps are still those to use. All such logic can be used in step 2 toestablish a prioritized frequency channel list.

[0023] In step 3, the receiver tunes to the next channel in the list,which is the first channel on the first pass through the flow chart. Instep 4, the signal received on the tuned channel is processed using, forexample, a correlator or matched filter matched to a known code.Exemplary matched filter structures are disclosed in U.S. patentapplication Ser. No. 08/967,444, filed Nov. 11, 1997 (Ericsson Docket#PO 8668) to Dent and Wang entitled “Efficient Correlation Over aSliding Window” as described supra, which is hereby incorporated byreference herein. These inventive correlation techniques allow receivedsignal samples to be correlated with a known code with all possibletiming shifts between the known code and the signal samples beingcorrelated simultaneously.

[0024] Moreover, correlations can be performed using more than one codesimultaneously with less than a commensurate increase in effort. Usingthese inventive correlators or matched filters, the savings in effortincreases, the greater the number of correlations that have to becalculated. This property will prove useful in the current inventionwhich performs synchronisation in several stages using different codes,with all stages running in parallel.

[0025] The correlations computed in step 4 for different timing shiftsbetween the received signal and the known code are accumulated with likevalues computed from a repetition of the same signal at periodicintervals. Such a signal format is shown in FIG. 3. A CDMA signalwaveform allows several different signals to overlap in time andfrequency by the use of different codes, which permit a receiver toseparate the overlapping signals. In FIG. 3, three types of signal areshown overlapping;

[0026] (1) a Traffic Channel, which is divided into 10 mS frame periodswhich are further subdivided into 16, 0.625 mS timeslots;

[0027] (2) a Paging channel, which has the same frame and slot structureas the Traffic channel, although it may be of a different power level,and with other differences in the finer structure. One such differenceis that the paging channel slots are divided into ten, 256-chip symbols,nine of which use a code unique to a particular transmitter selectedfrom a set of 256 codes while the tenth symbol uses one of a subset of16 codes and is called the second Periodic Channel or PERCH 2; and

[0028] (3) a first Periodic Channel (PERCH 1) which comprises bursts of256 chips using a code which is common to all transmitters. Moreover,the PERCH 1 bursts are aligned in time with the PERCH 2 occurrences onthe Paging Channel.

[0029] Optionally, one of the PERCH 1 or PERCH 2 occurrences mayoccasionally at regular intervals be an “unmodulated burst”, such aswould be achieved by setting all 256 chips to the same value, orsystematically phase-rotating value, the latter giving afrequency-offset CW burst. These CW bursts can be useful in providingthe receiver with an opportunity to obtain coarse time and frequencysynchronisation before beginning step 4 of FIG. 2(a).

[0030] Techniques for utilizing such CW bursts in the context of TDMAsignals (but not overlapping CDMA signals) are known from the EuropeanDigital Cellular System called GSM and, therefore are not elaboratedhere. The current description however continues without reference towhether coarse synchronisation is achieved with the aid of CW bursts ornot. Instead, the most onerous case is assumed, i.e., in which thefrequency and time uncertainty over which the sync search is performedis not reduced. Consequently, in accordance with the exemplary waveformof FIG. 3, correlation with the PERCH 1 code can be found at any one ofthe 2560-chip shifts over the one-slot repetition period of the code.

[0031] It is also assumed that one 256-chip correlation will not yieldan adequate YES/NO detection decision. An aim of the present inventionis to permit a receiver to acquire time and frequency synchronisationeven when the signal strength is too low to establish a normal trafficchannel, such as when a mobile phone user is deep inside a building. Theaim of future cellular systems will be to provide a high-penetrationmethod of alerting the phone that it is being called even in suchdisadvantaged circumstances, and conveying a short message, such as thecaller-ID using highly redundant signaling. However, even using suchhighly redundant signaling, synchronisation must first be established inorder to decode the signal.

[0032] In order to improve the synchronisation robustness, correspondingcorrelations from corresponding timings in successive slots areaccumulated in step 5. Since the timing uncertainty is 2560 chips inthis example, 2560 timing bins are used to accumulate correlationscorresponding to each particular timing postulate.

[0033] A correlation between a complex radio signal and a given codeyields a complex number having an amplitude and a phase. The phaseremains constant only over a limited time due to fading or frequencyerror. In an exemplary 2 GHz radio system fading rates would allowcorrelations of length 256-chips or more to be made, but the resultwould exhibit a different phase angle from slot to slot due to thefading changing the signal phase over the 0.625 mS slot separation time.Consequently, only the magnitudes or magnitudes squared of thecorrelations are accumulated from slot-to-slot, which is termed“non-coherent” accumulation in the art.

[0034] However, frequency error in the receiver due to the use of a lowcost oscillator can restrict the coherency time to less than 256 chips.In an exemplary embodiment, the coherent correlation length (matchedfilter length) is only 64 chips to allow for frequency error; four64-chip correlations then have their magnitudes accumulatednon-coherently to form a 256-chip correlation at step 4. Optionally, thefour 64-chip correlations can be further processed to estimate afrequency error, as further elaborated later. If and when an opportunityarises to correct the oscillator's error, a note can be made of that andsubsequent 256-chip correlations can be coherent correlations.

[0035] For example, the oscillator can be calibrated wheneversynchronisation is confirmed with a valid transmitter and a noterecorded against the temperature at which calibration was made.Subsequent sync searches made at temperatures for which the oscillatorhas been calibrated can use 256-chip correlation while at othertemperatures 64-chip coherent correlations would be made.

[0036] At step 5, coherent or non-coherent correlations from step 4 areaccumulated in the 2560 timing bins. If accumulation continues too long,frequency error in the receiver's chip rate relative to thetransmitter's chip rate can cause a drift in the correspondence oftiming bins to a particular timing. This problem was solved by thedisclosure of U.S. patent application Ser. No. 08/768,975 to Dent, filedDec. 18, 1996 which is hereby incorporated by reference herein. In theabove application, drift is compensated by accumulating the largest ofthree adjacent previous cumulative values with a new correlation, thusallowing a timing drift of +/−one bin. In the exemplary system, thefrequency error is much smaller than that which would cause a drift ofone chip per 2560 chips. A+/−10 ppm frequency error will rather cause a1 chip error in 100000 chips, or 40 slots of 2560 chips. Consequently,accumulation of corresponding values can take place in correspondingbins for up to 40 slots, and then the 2560, 40-slot, block-cumulativevalues are accumulated with the 2560 cumulative bins using driftcompensation according to the incorporated patent application. The needfor 2×2560 memories can be avoided, by first processing the previous,cumulative bin values to determine the largest value in every adjacentgroup of three bins. The bin values are then replaced by this largest ofthree. Then each new correlation value for the next 40 slots isaccumulated in a corresponding one of the replaced bins. After 40 slots,the “best-of-3” operation is repeated prior to continuing. In practice,the exemplary system performs the “best-of-3” operation every 16 slots,corresponding to the exemplary 10 mS frame period of FIG. 3. In thisway, cumulative correlation can continue indefinitely until something isdetected, thus solving the “high-penetration sync” aim.

[0037] Even in the absence of a signal however, non-coherentaccumulation of correlation magnitudes results in numerically growingvalues due to noise. To prevent indefinite numerical growth, it isuseful to subtract the smallest value over all 256 bins from all thevalues, one bin then being zero and the non-zero bins indicating themargin by which they exceed the “noise” value. This differential valueis in fact more useful for detecting the presence of a signal. Apredetermined threshold can be established against which thedifferential bin values are compared. If a bin value exceeds thisthreshold, it indicates that correlation with the associated timingvalue exceeded correlation with all other chip-shifts by a significantmargin, indicating the likelihood, if not the certainty, that a signalexists with that timing.

[0038] One reason why certainty of detection does not exist with asingle-stage sync detection algorithm is that the propagation path froma transmitter to a receiver can comprise many paths with differentdelays separated in time by one or more chips. Therefore each timing binonly accumulates that fraction of the energy received in a single ray;moreover multiple rays lead to multiple bins exhibiting correlations, sothat there is uncertainty in which one to believe. The preferredalgorithm is to continue drift-compensated accumulation of differentialbin values until one bin value becomes the first to exceed the firstdetection threshold, as detected at step 6. If no bin exceeds thethreshold after an accumulation cycle, at step 7 the receiver comparesthe time spent accumulating correlations on this frequency channel witha timeout limit. If the time limit is exceeded, further search is deemeduseless and a return is made to step 3 to try tuning the next frequencychannel in the list. The timeout limit can be adjusted in dependence onthe measured signal strength values on the channel, so that a longersearch time is allowed when the channel is weak. If all channels areweak, as measured at step 1, it can be an indication that the user isdeep indoors and a much longer timeout used. Moreover, a differentprioritization of the frequency channels to search can be employed if itis suspected that a “high-penetration” sync search must be performed.

[0039] If a bin exceeds the first detect threshold at step 6, step 8 ofFIG. 2(b) is entered. At step 8 of FIG. 2(b), the just detected binvalue is reset to zero and the timing (and optionally any frequencyerror that has been estimated during correlation) for that bin, i.e. thebin number, is recorded in a second list as a “candidate” or “possible”signal. Correlations then continue to be made and accumulated accordingto the method shown in FIG. 2(a), except that changing frequency channeldue to timeout is inhibited as long as the second list is not empty.Maintaining the same tuned frequency permits techniques according to thepresent invention to attempt a second stage of synchronisation on thechannel on which first stage sync is detected. Although the inventivecorrelator of the above-incorporated applications can performcorrelations of the same received signal samples with many differentcodes and code-shifts simultaneously, the receiver cannot receive signalsamples on two or more different frequency channels simultaneously, andso the choice of channel is frozen during performance of second stage ofsynchronization illustrated in FIG. 2(b).

[0040] In FIG. 2(b), the received signal is correlated at step 9 witheach of 16 possible PERCH 2 256-chip codes. If coarse frequency errorhas been supplied from stage 1 sync detection, these 256-chipcorrelations may be coherent correlations. It will be explained laterhow the factor of four reduction in frequency error needed to increasethe coherent correlation length from 64 to 256 chips is implemented.

[0041] The timing having been supplied from stage 1 sync, the timinguncertainty to be searched using the technique in FIG. 2(b) is limited.For example, if the multipath delay spread is a maximum of 16microseconds, only 64 timing bins are needed. However, there are 16different codes, and 64 timing bins are needed for each, making 1024bins altogether. At step 10, correlations are accumulated in binscorresponding to one of 16 codes and one of 64 timings for allcandidates in the second list, thus there are multiple banks of 1024bins required in the case of multiple candidates to be tested.Ultimately, the number of simultaneously processed candidates can belimited by the amount of memory. Candidates in the list that cannot beprocessed for lack of memory may be processed later after a previouscandidate has been rejected at step 13.

[0042] Drift compensation may be applied as before using a “best of 3”operation every 10 mS frame. However, subtraction of the minimum valueof these bins from all of them is not necessarily a good idea, as thetiming has been so restricted that all timings and codes couldconceivably contain valid signal energy arriving from more than onenearby base station transmitter. Therefore the minimum bin value fromthe bins of FIG. 2(a) can be used as a noise floor and subtracted fromall the bins of FIG. 2(b) as well as all the bins of FIG. 2(a). If anybin value in FIG. 2(b) is then detected at step 11 to have exceeded thisnoise floor by more than a second threshold, step 14 is entered in FIG.4. On the other hand, if no bin exceeds the second threshold, a test ismade at step 12 to determine if enough time has been spent testing anyof the timings in the second list. If so, the timing that has beentested for longer than the timeout period is deleted from the list. Whenall timings have been deleted from the list, the frequency channelchange steps 7, 8 of FIG. 2(a) may be re-enabled.

[0043] Referring now to FIG. 2(c), step 14 is entered with a timingvalue and code giving a second threshold detection at step 11. This isrecorded in a third list, allowing again for multiple candidates. ThePERCH 2 code detected at step 11 indicates one of 16 groups of codes,each group containing 16 codes, that the transmitter may be using forcoding the other nine symbols per slot of the paging channel.Consequently correlations are now performed using the timing and coarsefrequency error from previous steps with the nine other paging channelsymbols using each of the 16 codes in the indicated group. These areaccumulated as before in a limited number of timing bins times the 16code bins. When one of these third banks of bins is detected at step 17to exceed a third threshold above the noise floor, the code used by thetransmitter is uniquely suggested and is conveyed to a fourth list atstep 20 of FIG. 2(d) for confirmation. It may be seen that FIG. 2(c)operates similarly to FIG. 2(b) and so will not be elaborated further. Aperson skilled in the art will realize that the operations of flowcharts of FIGS. 2(a)-2(d) can be controlled by a microprocessor (notshown) using a suitable software program, and that software programsthat are identical apart from the data memory elements they operate ondo not need to be stored in multiple copies, but can be given theproperty of re-entrancy that allows a single program to be multiplyactive in different states and quasi-simultaneously to process differentdata and even in different ways controlled by different parameters.

[0044] Now referring to FIG. 2(d), step 20 is entered having identifiedone of in total 256 codes that the detected transmitter is thought to beusing to code the paging channel signal. It may be that more than onecandidate code has been detected, for example due to the mobile stationbeing within range of more than one base station transmitter using thesame frequency channel. Therefore the just-identified signal parametersare entered into a fourth list with any other codes, timings andfrequency errors already in the list. At step 21 an attempt is made todecode the signal at the top of the list. If the signal is a CDMAsignal, a RAKE receiver (not shown) may be appropriate to perform thisdecoding step. The RAKE receiver first performs correlations with knowncodes based on the identified unique code of this transmitter toestablish the phase and amplitudes (i.e. complex channel parameters) ofeach significant multipath ray reaching the receiver. The RAKE receiverthen uses the code in correlation with unknown data symbols using thetiming shifts of the established significant rays. The results ofcorrelation with unknown data symbols are combined using weightingfactors based on the established complex channel parameters for eachray. The combined value is then submitted as a “soft decision” to anerror correction decoding algorithm to decode information transmitted onthe paging channel. More details of RAKE receivers may be found in U.S.Pat. Nos. 5,305,349 and 5,572,552 to Applicant which are herebyincorporated by reference herein.

[0045] After error correction decoding of the signal at step 21, a testfor correct decoding is made at step 22. This can be done for examplewith the aid of a Cyclic Redundancy Check (CRC) code. If the CRC codedoes not check, this may be an indication that the signal in the fourthlist was a false signal or of low signal quality. Rejection of thesignal and deletion from the fourth list may occur as a result ofseveral successive failures of the CRC check. As with all the steps ofFIGS. 2(a)-2(d) presented here, attempted decoding of one, any or all ofthe signals with parameters recorded in the fourth list can in principlebe done simultaneously, and while the earlier synchronisation detectionstages are also still proceeding. In this context “simultaneously” meansprocessing the same received signal in many different ways correspondingto searching for a PERCH 1 burst, a PERCH 2 burst or CRC check usingdifferent despreading codes. The term “simultaneously” does notnecessarily imply multiple copies of decoding hardware, as sufficientlyfast hardware can be timeshared, i.e. operated sequentially, to processthe same stored data in many different ways. The amount of parallelismprovided in the hardware to obtain the desired processing ability is adesign trade-off that is not material to the inventive principlesdisclosed above.

[0046] Using the invention, a multi-stage synchronisation process isimplemented with the aim of reducing the time needed to acquiresynchronisation with a signal such as a spread-spectrum signal. Thefirst stage of the sync process is designed to speed detection of anysignal, by limiting the number of codes used for the first detectionstage and accepting a higher probability of false alarms. Later stagesof synchronisation are performed using only the limited number ofcandidate signals defined by the parameters identified in the earlierstage, and aim to successively limit the number of signal candidatesretained for further testing while improving the confidence that aretained signal is a true signal. The final step of successfullydecoding a paging channel broadcast confirms detection of a true signal.When a true signal is detected and decoded, further information may beread by the receiver regarding surrounding stations, frequencies andother parameters of the network. The receiver may also measure itsfrequency error relative to a true signal and store a frequencycalibration value for the prevailing temperature, in order to learn afrequency/temperature correction table for its reference oscillator withwhich to accelerate synchronisation on future occasions.

[0047] When initially a receiver has no preexistingfrequency/temperature calibration table, coherent correlation lengthsmay be restricted, as described above. Coherent correlations of limitedlength have to be combined or accumulated non-coherently to producecorrelations over longer periods. This can be accomplished usingnon-coherent accumulation or combination devices to compute themagnitude (or magnitude squared) of a complex correlation value andcombine the magnitudes. Non-coherent correlation will always produce apositive result that grows with time, and is therefore more liable tofalsely exceed a detect threshold than a coherent correlation.Consequently it is of interest to estimate frequency error from apreceding, non-coherent stage of correlation (e.g. that of FIG. 1(a)) inorder to permit a subsequent stage of correlation to be performedcoherently by compensating for the estimated frequency error (e.g. thestage described by FIG. 2(b)).

[0048] In the exemplary system, the synchronization codes transmittedare of length 256 while the maximum coherent correlation length imposedby frequency error is 64. To permit the full coherent correlation lengthof 256 to be used, it is therefore necessary to reduce the frequencyerror by a factor of four. This may be done in the following exemplarymanner.

[0049] In FIG. 2a), 64-point correlations are computed for four,successive 64-symbol blocks over a 256-symbol block. Denoting these bythe complex numbers

[0050] I1+jQ1

[0051] I2+jQ2

[0052] I3+jQ3

[0053] and I4+jQ4,

[0054] non-coherent combination of these would normally comprisecomputing SQRT(I1²+Q1²)+SQRT(I2²+Q2²)+SQRT(I3²+Q3²)+SQRT(I4²+Q4²) oralternatively the sum-of-squares

[0055] I1²+Q1²+I22+Q2²+I3²+Q3²+I4²+Q4²

[0056] Coherent combination, if the frequency error was zero, wouldcomprise computing

[0057] (I1+I2+I3+I4)+j(Q1+Q2+Q3+Q4).

[0058] Consider now a frequency error that gives rise to a 90 degreephase rotation over each 64-symbol correlation interval, equivalent to amultiplication by “j” for a positive frequency error or by −j for anegative frequency error.

[0059] Then, for positive frequency error the correlations wouldcorrespond to

[0060] I1+jQ1

[0061] jI2−Q2 (having been multiplied by j)

[0062] I3−jQ3 (having been multiplied by j²)

[0063] and −jI4+Q4 (having been multiplied by j³)

[0064] The sum of the real parts is then I1−Q2−I3+Q4

[0065] and the sum of imaginary parts is Q1+I2−Q3−I4.

[0066] For negative frequency error, the corresponding combinationswould be

[0067] I1+Q2−I3−Q4 and Q1−I2−Q3−Q4

[0068] For a frequency error, positive or negative, that gives 180degrees phase shift per 64-symbol correlation interval, thecorresponding accumulations would be

[0069] I1−I2+I3−I4 and Q1−Q2+Q3−Q4

[0070] Collecting all of the above, we obtain four different ways toaccumulate four 64-symbol correlations:

[0071] 1) I1+I2+I3+I4 Q1+Q2+Q3+Q4 for small frequency error

[0072] 2) I1−Q2−I3+Q4 Q1+I2−Q3−T4 for +90 degrees per 64 chips

[0073] 3) I1+Q2−I3−Q4 Q1−I2−Q3+I4 for −90 degrees per 64 chips

[0074] 4) I1−I2+I3−I4 Q1−Q2+Q3−Q4 for +/−180 degrees per 64 chips

[0075] A person skilled in the art will recognize the above as computinga four-point FFT. If desired, the correlation results can be combinedinstead with phase rotations of +/−45 degrees and +/−135 degrees insteadof 0, +/−90 and +/−180 degrees to avoid the frequency error signambiguity of the +/−180 degree combination. This would slightly modifythe transition rules for drift compensated accumulation disclosed below,but nevertheless in a manner that may be fully derived by a person ofaverage skill in the art with the help of these teachings.

[0076] An implementation of the current invention which provides thehighest performance therefore comprises accumulating four 64-symbolcorrelations using all four of the above formulae. Then the magnitudesof the resulting 256-chip correlations are accumulated from one signalrepetition period to the next (i.e. slot-to-slot in the exemplary formatof FIG. 3) in a set of 4×2560 bins, each set of 2560 bins correspondingto one of the above frequency error assumptions.

[0077] When a bin value exceeds a detect threshold, the bin number thenyields both a timing value (1-2560) and a frequency error (14) to usefor accumulating correlations in FIG. 2(b). Note that it does not matterat this stage that with frequency error (4) we cannot tell if it ispositive or negative. If the accumulation of type (4) above gave largestcorrelation for sync detect stage 1, then it should also give correctaccumulation for sync detect stage 2.

[0078] It is seen that the above provides a means to classify frequencyerror into one of four smaller errors of ¼ the error, as needed to allow256-symbol coherent correlations.

[0079] It is also possible to improve drift-compensated accumulationwhen frequency error is detected in the above way. As described above, abin value may be periodically replaced by the largest of three adjacentvalues to allow for a one-bin timing drift over the period. If a bin isreplaced by the next highest numbered bin value, it is an indicationthat the received frequency was low relative to the receiver's frequencyreference crystal oscillator and had drifted “late”. Conversely,replacing a bin value by the next lower bin number indicates that thereceived frequency was high.

[0080] In the case of simultaneous frequency error detection using 4×256bins, let the bins be numbered using two indices j, k with k rangingfrom 1 to 2560 and j ranging from −1 to +3 to indicate frequency nominal(j=0); frequency high (j=1); frequency low (j=−1) and frequency veryhigh or low (j=+3)

[0081] Now, when a bin with second index k is replaced with a value froma bin with second index k−1, it indicates that the receiver's frequencywas low compared to the received signal. Thus, to be consistent, thisshould only occur for a second index j equal to −1 or +3; conversely,replacing bin value index k with k+1 should only be allowed for j=+1 or+3. Replacing bin value index k with itself implies no frequency error,so should be done only for j=0.

[0082] In practice, due to frequency error not falling exactly into oneof the four categories, some opportunity for “cross-fertilization”should be allowed, resulting in the following strategy:

[0083] 1) Replace bin(0,k) by the largest of

[0084] bin(0,k), bin(−l,k−1) and bin (l,k+1)

[0085]  (frequency nominal, a bit low or a bit high)

[0086] 2) Replace bin(l,k) by the largest of

[0087] bin(l,k), bin(l,k+1) and bin(3,k+2)

[0088]  (frequency more than a bit high)

[0089] 3) Replace bin(−l,k) by the largest of

[0090] bin(−l,k), bin(−l,k−1) and bin(3,k−2)

[0091]  (frequency more than a bit low)

[0092] 4) Replace bin(3,k) by the largest of

[0093] bin(l,k+1), bin(−l,k−1), bin(3,k−2) and bin(3,k+2)

[0094]  (frequency very high or very low)

[0095] A person skilled in the art may devise other transition rulesbased on the same logic, namely that if symbol rates and radio frequencyare derived at the transmitter and receiver from the same referenceoscillators, then the sign of timing drift must be related to the signof frequency error. The above transition rules thus involve lesscomputation than finding the largest of twelve values (4 frequencyerrors times 3 timing drifts of early, late and nominal), but may berestricted to finding the largest of 3 or 4 values.

[0096] The use of a four-point FFT for simultaneously accumulatingcorrelations in four different ways corresponding to different frequencyerror postulates may of course be extended to larger FFTs for finerresolution of frequency error. An advantage of four-point FFTs however,which are sufficient for the preferred system parameters, is that theydo not require any multiplications but require only additions, whichreduces the complexity of the inventive receiver according to theinvention.

[0097] The above-described exemplary embodiments are intended to beillustrative in all respects, rather than restrictive, of the presentinvention. Thus the present invention is capable of many variations indetailed implementation that can be derived from the descriptioncontained herein by a person skilled in the art. All such variations andmodifications are considered to be within the scope and spirit of thepresent invention as defined by the following claims.

What is claimed is:
 1. A synchronization method for synchronizing areceiver with a transmitted signal, comprising the steps of: selecting afrequency channel and receiving a signal; filtering, amplifying andsampling the signal to generate signal samples for processing;processing said samples using a first code to detect correlation withsaid first code; upon detection of correlation with said first code,processing said same signal samples using a timing identified by saiddetected correlation and at least one second code to detect correlationwith said at least one second code; upon detection of correlation withsaid at least one second code, processing said same signal samples usinga code related to said second code to decode transmitted information;and testing for correct decoding of said information to verify correctsynchronization.
 2. The method according to claim 1 in which said stepof selecting a frequency channel further comprises the step of:selecting said frequency channel from a prioritized channel list.
 3. Themethod of claim 2 in which said prioritized channel list is prioritizedbased on memorized historical information.
 4. The method of claim 2 inwhich said prioritized channel list is prioritized in order of receivedsignal strength on each channel.
 5. The method of claim 2 in which saidprioritized channel list is prioritized based on the channels on whichsynchronization was achieved most recently.
 6. The method of claim 2 inwhich said prioritized channel list is prioritized such that channels onwhich synchronization has not historically been achieved are given a lowpriority.
 7. The method of claim 2 in which said channel list isprioritized based on measured received signal strength on each channeland on historical information.
 8. The method of claim 7 in whichchannels with signal strength above a threshold at which synchronizationhas previously been achieved are given a high priority and channels withsignal strength below a threshold at which synchronization haspreviously not been achieved are given a low priority.
 9. The method ofclaim 1 in which said filtering, amplifying and sampling step togenerate signal samples further comprises the step of: analog-to-digitalconverting at a sampling rate of at least one sample per signalingsymbol interval.
 10. The method of claim 1 in which said step ofprocessing with a first code further comprises the step of: correlatinga selected block of signal samples with corresponding symbols of saidfirst code, selecting each signal sample in turn to be the start of saidblock.
 11. The method of claim 10 in which said block correlations areperformed using a sliding correlator.
 12. The method of claim 10 inwhich said block correlations are performed using a matched filter. 13.The method of claim 1 in which said transmitted signal includes arepetitive pattern with a fixed repetition period of a whole number ofsignaling symbols.
 14. The method of claim 13 in which said step ofprocessing to detect correlation with said first code further comprisesthe step of: forming a correlation value for each alignment of saidfirst code with a symbol position within said repetition period andaccumulating said correlation values having the same alignment insuccessive repetition periods in a bin for each alignment.
 15. Themethod of claim 14 further comprising the step of: compensating saidaccumulation for timing drift.
 16. The method of claim 15 wherein saidstep of compensating further comprises the step of: periodicallyreplacing a cumulative value by a largest of three adjacent cumulativevalues.
 17. The method of claim 16, wherein said period is related to anaccumulation time over which timing drift of the order of one signalingsymbol is likely.
 18. The method of claim 14 in which a minimum valueover all of said bins is subtracted from all of said bins to preventnumerical growth and to form differential bin values.
 19. The method ofclaim 18 in which detecting correlation with said first code occurs whenone of said differential bin values exceeds a predetermined threshold.20. The method of claim 19 in which a bin value exceeding saidpredetermined threshold is set to zero after said detection and thenaccumulation in said bin is continued.
 21. A method for synchronizing areceiver with a transmitted signal, comprising the steps of: selecting afrequency channel and receiving a signal; filtering, amplifying andsampling the signal to generate signal samples for processing;processing said samples using a first code to detect correlation withsaid first code; and after detecting said correlation with said firstcode, continuing to process further signal samples to detect furthercorrelations with said first code while processing said same furthersignal samples to detect a second code.
 22. A method for synchronizing areceiver with a transmitted signal comprising the steps of: sequentiallytuning said receiver to successive frequency channels and measuringreceived signals strength on said channels; forming said frequencychannels into a first list for testing in a prioritized order; tuningsaid receiver to the channel in said first list with highest priorityand receiving a signal; starting a timer to record time spent tuned tosaid channel and to compare the recorded time with a time-out value;filtering, amplifying and sampling the received signal to generatesignal samples for processing; processing said signal samples using afirst code to detect correlation with said first code; upon detectingcorrelation with said first code, recording in a second list the timingposition within said signal samples of each such detected correlation;if said second list contains one or more entries, processing said signalsamples to detect correlation with at least one second code at thecorresponding recorded timing position; and if said timer reaches saidtime-out value, retuning said receiver to the channel of next highestpriority in said first list and resetting said timer.
 23. A receiver fordetection of synchronisation with a transmitter, comprising: filtering,amplifying and conversion means for receiving signals and producingsignal samples for processing; correlation means for correlating saidsignal samples with a first code using time-shifts between said receivedsignal samples and said first code and for correlating said same signalsamples with at least one second code at specified time-shifts; firstdetection means for detecting time shifts at which correlation with saidfirst code exceeds a first threshold and recording said time-shifts in afirst memory; control means for specifying the time-shifts to saidcorrelation means for performing correlations with said at least onesecond code based on the time-shifts recorded in said first memory;second detection means for detecting when a correlation with said atleast one second code specified by said control means exceeds a secondthreshold and for recording the associated at least one second code andtime-shift in a second memory; confirmation means for processing saidsame signal samples using a code based on said second code to decodeinformation and performing a decoding error check; and deletion meansfor deleting records from said second memory when said confirmationmeans indicates decoding error.
 24. A method of synchronizing a receiverwith a transmitted signal, said transmitted signal comprising a firstand second repeated coded pattern having a determined repetition period,comprising the steps of: selecting a frequency channel and receiving asignal; filtering, amplifying and sampling the signal to generate signalsamples for processing; correlating said signal samples with said firstcoded pattern using different timing shifts in said repetition periodbetween said first coded pattern and said signal samples to produce afirst correlation value for each time shift; accumulating correlationvalues that correspond to the same time shift in successive repetitionperiods in corresponding timing bins; detecting when the cumulativevalue in one of said timing bins exceeds the value in another of saidtiming bins by more than a first threshold and recording the timing binnumber in a first memory; when said memory contains at least one timingbin number, correlating said same signal samples with said secondrepeated code pattern using timing shifts corresponding to said recordedtiming bin numbers and producing corresponding second correlationvalues; and accumulating said second correlation values in a number ofsecond bins, each corresponding to an entry recorded in said firstmemory while continuing to accumulate said first correlation values insaid timing bins.
 25. A method for transmitting a Code Division MultipleAccess signal comprising the steps of: transmitting paging informationhaving a repetitive frame structure on a given frequency using a firstspread-spectrum access code, said paging information being used toaddress specific receivers; transmitting traffic information toindividual receivers on said same given frequency using one of a set ofsecond spread spectrum access codes assigned to each receiver, saidtraffic transmissions overlapping in time with said paging information;and periodically transmitting a narrowband signal having substantiallynarrower bandwidth than said traffic and paging transmissions with aperiodicity related to said repetitive frame structure.
 26. The CDMAmethod according to claim 25 in which said step of periodicallytransmitting a narrowband signal further comprises the step of:transmitting a burst of unmodulated, continuous wave energy.
 27. TheCDMA method of claim 25 in which said periodicity has a sliding timerelationship with said frame structure.
 28. A method fortime-synchronizing a receiver with a transmitted signal and determininga coarse frequency error estimate, comprising the steps of: computingcorrelations between received signal samples and known symbols includedin said transmitted signal at periodic intervals, using severaltime-shifts between said received signal samples and said known symbolscorresponding to early and late timing postulates; combining successivecorrelations corresponding to the same timing postulate using acombining method with no frequency error compensation to obtain firstcumulative correlations; combining correlations made with successivelylater timing postulates using a combining method compensated for areceiver frequency that is relatively high compared to the transmittedsignal frequency to obtain second cumulative correlations; combiningcorrelations made with successively earlier timing postulates using acombining method compensated for a receiver frequency that is relativelylow compared to the transmitted signal frequency to obtain thirdcumulative correlations; and determining the largest of said first,second and third correlations to determine a timing and a coarsefrequency error estimate.